home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Nordlicht Spiele / Nordlicht Spiele 05-04 (19xx)(Nordlicht)(DE)(PD).zip / Nordlicht Spiele 05-04 (19xx)(Nordlicht)(DE)(PD).adf / PACMAN / 66 (.txt) next >
AmigaBASIC Source Code  |  1990-01-06  |  17KB  |  642 lines

  1. '1988 by Leuolya-SOft
  2.  
  3. 'Public Domain
  4.  
  5. 'Sollte dir das Programm gefallen
  6. 'ist es erlaubt,dem Programmier
  7. 'Annerkennung in Form von
  8. 'Geld zu schicken.
  9.  
  10. 'Adresse:
  11. 'Roger Leu
  12. 'Lenggisergasse 3
  13. 'CH-8645 Jona/SG
  14.  
  15. ' Danke !
  16. GOTO Pb
  17.                                 
  18. f1:
  19. IF fa(1)=-100 THEN fa(1)=100:fa(2)=0:fa(3)=300:fa(4)=2:fa(5)=400:fa(6)=4:PALETTE 3,0.1,0.5,0.9:RETURN
  20. fa(1)=-100:fa(2)=1:fa(3)=800:fa(4)=6:fa(5)=0:fa(6)=0:PALETTE 3,0.6,0.1,0.1
  21. RETURN
  22.   
  23. Jo:
  24. IF xg=xp AND yg=yp THEN GOTO ph
  25. w2: 
  26. IF wa>gs THEN wa=0:GOSUB Ge
  27. ri=0:wa=wa+1
  28. fe=STRIG(3)
  29. IF STICK(2)=-1 AND STICK(3)=0 THEN ri=1:RETURN
  30. IF STICK(2)=1 AND STICK(3)=0 THEN ri=2 :RETURN
  31. IF STICK(3)=-1 AND STICK(2)=0 THEN ri=3:RETURN
  32. IF STICK(3)=1 AND STICK(2)=0 THEN ri=4
  33. RETURN
  34.  
  35. Ge:
  36. bw1=0
  37. IF xp>xg OR bw=1 THEN IF f$(yg,xg+1)<>"1" THEN GOSUB rp:xg=xg+1:bw=1:bw1=1
  38. IF xp<xg OR bw=2 THEN IF f$(yg,xg-1)<>"1" THEN GOSUB rp:xg=xg-1:bw=2:bw1=1
  39. IF yp>yg OR bw=3 THEN IF f$(yg+1,xg)<>"1" THEN GOSUB rp:yg=yg+1:bw=3:bw1=1
  40. IF yp<yg OR bw=4 THEN IF f$(yg-1,xg)<>"1" THEN GOSUB rp:yg=yg-1:bw=4:bw1=1
  41. IF bw1<>0 THEN GOTO we5
  42. t=INT(4*RND(1)+1)
  43. IF t=1 THEN IF f$(yg,xg+1)<>"1" THEN GOSUB rp:xg=xg+1:bw1=1 
  44. IF t=2 THEN IF f$(yg,xg-1)<>"1" THEN GOSUB rp:xg=xg-1:bw1=1
  45. IF t=3 THEN IF f$(yg+1,xg)<>"1" THEN GOSUB rp:yg=yg+1:bw1=1  
  46. IF t=4 THEN IF f$(yg-1,xg)<>"1" THEN GOSUB rp:yg=yg-1:bw1=1
  47. we5:  
  48. IF bw1<>0 THEN PUT(110+xg*20,10+yg*10),g%,PSET
  49. IF xg=xp AND yg=yp THEN GOTO ph
  50. RETURN
  51.  
  52. rp:
  53. IF f$(yg,xg)="0" THEN PUT(110+xg*20,10+yg*10),p%,PSET:RETURN
  54. IF f$(yg,xg)="2" THEN PUT(110+xg*20,10+yg*10),Pi%,PSET:RETURN
  55. IF f$(yg,xg)="5" THEN PUT(110+xg*20,10+yg*10),l%,PSET:RETURN
  56. IF f$(yg,xg)="8" THEN PUT(110+xg*20,10+yg*10),Gi%,PSET:RETURN
  57. IF ASC(f$(yg,xg))>96 AND ASC(f$(yg,xg))<108 THEN PUT(110+xg*20,10+yg*10),Fr%,PSET
  58. IF f$(yg,xg)="3" THEN PUT(110+xg*20,10+yg*10),l%,PSET:f$(yg,xg)="5"
  59. RETURN
  60.                                 
  61. ph:
  62. l(pl)=l(pl)-1:TIMER OFF
  63. IF l(pl)=0 THEN GOSUB hisco
  64. GOSUB mu:GOTO An
  65.   
  66. St:  
  67. a$=f$(yp,xp)
  68. IF a$="7" THEN sc(pl)=sc(pl)-100:LOCATE pp(pl):PRINT p$;sc(pl):f$(yp,xp)="5":GOTO we3
  69. IF a$="0" THEN
  70. SOUND 100,0.5:sc(pl)=sc(pl)+10:LOCATE pp(pl),1:PRINT"Punkte:"sc(pl)
  71. f$(yp,xp)="5":pil=pil-1
  72. IF pil=0 THEN PUT(110+xp*20,10+yp*10),l%,PSET:GOTO Ft
  73. GOTO we3
  74. END IF  
  75. IF a$="2" THEN 
  76.  f$(yp,xp)="5":sc(pl)=sc(pl)+fa(1):l(pl)=l(pl)-fa(2)
  77.  LOCATE pp(pl),1:PRINT p$;sc(pl):LOCATE pli(pl),1:PRINT l$;l(pl)
  78.  IF l(pl)=0 THEN TIMER OFF:GOSUB hisco:GOSUB mu:GOTO An
  79.  f$(yp,xp)="5"
  80.  SOUND fa(3),fa(4):SOUND fa(5),fa(6)
  81. GOTO we3
  82. END IF
  83. IF a$="8" THEN FOR t2=1 TO 10:SOUND 100+t2*20,1:GOSUB Ge:NEXT t2:f$(yp,xp)="5"
  84. IF ASC(a$)<97 OR ASC(a$)>108 THEN GOTO we3
  85. FOR t=1 TO 10:SOUND 400+10*t,1:NEXT t
  86. PUT (110+xp*20,10+yp*10),Fr%,PSET:xp=F7(ASC(a$)-97+1,0):yp=F7(ASC(a$)-97+1,1):PUT(110+xp*20,10+yp*10),P0%,PSET:ri=0
  87. we3:
  88. IF ri=1 THEN PUT(110+xp*20,10+yp*10),P2%,PSET
  89. IF ri=2 THEN PUT(110+xp*20,10+yp*10),P0%,PSET
  90. IF ri=3 THEN PUT(110+xp*20,10+yp*10),P3%,PSET
  91. IF ri=4 THEN PUT(110+xp*20,10+yp*10),P1%,PSET
  92. we:          
  93. GOSUB Jo
  94. xp2=xp:yp2=yp
  95. IF ri=1 THEN xp=xp-1
  96. IF ri=2 THEN xp=xp+1
  97. IF ri=3 THEN yp=yp-1
  98. IF ri=4 THEN yp=yp+1               
  99. IF xp>24 THEN xp=24
  100. IF xp<0 THEN xp=0
  101. IF yp>20 THEN yp=20
  102. IF yp<0 THEN yp=0
  103. IF fe=-1 THEN LOCATE 20,1:PRINT"PAUSE":FOR t=1 TO 1000:NEXT:WHILE STRIG(3)<>-1:WEND:FOR t=1 TO 1000:NEXT:LOCATE 20,1:PRINT"         "
  104. IF f$(yp,xp)="1" OR ri=0 THEN xp=xp2:yp=yp2: GOTO we
  105. IF  ASC(f$(yp2,xp2))>96 AND ASC(f$(yp2,xp2))<109 THEN PUT(110+xp2*20,10+yp2*10),Fr%,PSET:GOTO St
  106. PUT(110+xp2*20,10+yp2*10),l%,PSET
  107. GOTO St                                                        
  108.         
  109. Ft:  
  110. TIMER OFF
  111. LOCATE 17,1:PRINT"  FERTIG ! "
  112. LOCATE 19,1:PRINT"Press Button"
  113. WHILE STRIG(3)<>-1
  114. WEND 
  115. GOSUB mu
  116. lv(pl)=lv(pl)+1
  117. IF pl=1 THEN pl=2 :ELSE pl=1
  118. IF sp=1 THEN pl=1
  119. GOTO An
  120.  
  121. Tb:
  122. COLOR 5,4
  123. GOSUB fd
  124. IF leu=0 THEN leu=1:GOSUB Bi
  125. CLS
  126. LINE(10,30)-(15,80),5,bf                                              
  127. CIRCLE(50,30),40,5,-0.78,-5.5
  128. PAINT(40,30),5,5
  129. CIRCLE(52,20),5,6
  130. PAINT(52,20),6,6
  131. FOR t=0 TO 4
  132. LINE(80,80)-(110+t,20),5
  133. NEXT t
  134. FOR t=0 TO 4
  135. LINE(110+t,20)-(150,80),5
  136. NEXT 
  137. LINE(95,50)-(130,50),5
  138. CIRCLE(210,50),50,5,,,0.6
  139. winkel1=6.28:winkel2=0
  140. WHILE winkel2<0.6
  141. winkel1=winkel1-0.05:winkel2=winkel2+0.05
  142. CIRCLE(210,50),50,5,-winkel2,-winkel1,0.6
  143. CIRCLE(210,50),50,4,-winkel1,-winkel2,0.6
  144. WEND
  145. CIRCLE(210,50),50,5,-winkel2,-winkel1,0.6
  146. PAINT(200,50),5,5
  147. CIRCLE(212,35),7,6,,,0.5
  148. PAINT(212,35),6,6
  149. a$="         is back  !!":GOSUB sp
  150. COLOR 1,4:a$="Ein Programm von Leuolya-Soft"
  151. LOCATE 1,51:PRINT a$:a=0
  152. FOR t=1 TO 100
  153. SCROLL(400,a)-(639,a+10),0,1:a=a+1                          
  154. NEXT
  155. a=400
  156. FOR t=1 TO 385
  157. SCROLL(a,100)-(a+239,110),-1,0:a=a-1
  158. NEXT
  159. GOSUB P1
  160. ON MENU GOSUB M2
  161. MENU ON 
  162.      
  163. scrollen1:
  164. IF ld=1 THEN ld=0:za=0:GOSUB laden
  165. za=za+1
  166. FOR t1=1 TO 8
  167. FOR t=0 TO 10 
  168. SCROLL(12+t*60,108)-(12+t*60+19,240),0,-1-INT(t/3)
  169. NEXT t
  170. NEXT t1
  171. FOR t1=1 TO 8 
  172. FOR t=0 TO 10 
  173. SCROLL(12+t*60,108)-(12+t*60+19,240),0,1+INT(t/3)
  174. NEXT t
  175. NEXT t1
  176. IF za=5 AND ld=0 THEN
  177. COLOR 1,4:a$="   He,du da,warum spielst du noch nicht?            "
  178. GOSUB sp
  179. END IF
  180. IF za=10 THEN 
  181. COLOR 5,4:a$="      is back  !!                        "
  182. za=0:GOSUB sp
  183. END IF
  184. GOTO scrollen1    
  185.  
  186. sp: 
  187. FOR t=1 TO LEN(a$)
  188. LOCATE 7,30:PRINT(RIGHT$(a$,t))
  189. FOR t1=1 TO 200:NEXT
  190. NEXT
  191. RETURN
  192.  
  193. Lesen:       
  194. FOR t=0 TO 20
  195. READ a$
  196. FOR t1=0 TO 24 
  197. f$(t,t1)=MID$(a$,t1+1,1)
  198. NEXT t1  
  199. NEXT t
  200. Entwickler:    
  201. za=0
  202. FOR t=0 TO 20
  203. FOR t1=0 TO 24
  204. IF f$(t,t1)="0" THEN PUT(110+t1*20,10+t*10),p%,PSET:GOTO we4
  205. IF f$(t,t1)="1" THEN PUT(110+t1*20,10+t*10),W%,PSET:GOTO we4
  206. IF f$(t,t1)="2" THEN PUT(110+t1*20,10+t*10),Pi%,PSET:GOTO we4
  207. IF f$(t,t1)="3" THEN PUT(110+t1*20,10+t*10),g%,PSET:xg=t1:yg=t    
  208. IF f$(t,t1)="4" THEN PUT(110+t1*20,10+t*10),P0%,PSET:xp=t1:yp=t:f$(t,t1)="0"
  209. IF f$(t,t1)="7" THEN PUT(110+t1*20,10+t*10),g%,PSET:GOTO we4
  210. IF ASC(f$(t,t1))>96 AND ASC(f$(t,t1))<108 THEN PUT(110+t1*20,10+t*10),Fr%,PSET:F7(ASC(f$(t,t1))-97,0)=t1:F7(ASC(f$(t,t1))-97,1)=t:za=za+1
  211. IF f$(t,t1)="8" THEN PUT(110+t1*20,10+t*10),Gi%,PSET
  212. we4:
  213. NEXT t1
  214. NEXT t    
  215. F7(za,0)=F7(0,0):F7(za,1)=F7(0,1)
  216. PUT(110+xp*20,10+yp*10),P0%,PSET
  217. RETURN
  218.  
  219. mu:
  220. RESTORE mu
  221. SOUND WAIT
  222. FOR t=1 TO 12
  223. READ Freq,Dauer
  224. SOUND Freq,Dauer*50
  225. NEXT t
  226. RETURN
  227.     
  228. DATA 261,.125,349,.18,392,.065,440,.125,349,.125,392,.25,523,.25
  229. DATA 392,.18,523,.065,470,.125,523,.125,349,.25
  230.  
  231. d1:
  232. RESTORE d1
  233. FOR t=0 TO 7
  234. READ pc(t)
  235. NEXT  
  236. DATA .78,5.5,5.5,3.93,3.93,2.36,2.36,.78
  237. RETURN
  238.  
  239. Spielfelder:
  240. IF lv(pl)=6 THEN GOSUB lfer:dex1=0:RETURN
  241. ON lv(pl) GOTO Feld1,Feld2,Feld3,Feld4,Feld5
  242.  
  243. Feld1:
  244. pil=211:gs=2
  245. RESTORE Feld1
  246. GOSUB Lesen
  247. RETURN
  248.  
  249.  
  250.      
  251. DATA 1111111111111111111111111
  252. DATA 1240000000000000000300021
  253. DATA 1011111111111011111111101
  254. DATA 1000000000000000000000001
  255. DATA 1011111110111111101111101
  256. DATA 1001000100010001000100001
  257.    DATA 1000010001000100010001001
  258.    DATA 1111111111101111111111111
  259.    DATA 1111111100000001111111111
  260.    DATA 1101111101101101111110111
  261.    DATA 1101110001100001111110111
  262.    DATA 1100110110001101111110011
  263.    DATA 1110000000000000000001011
  264.    DATA 1110111011101110111011011
  265.    DATA 1100111000001110000000011
  266.    DATA 1101111110111111111110111
  267.    DATA 1100000000111111011100021
  268.    DATA 1111111110111111000011111
  269.    DATA 1010101010101010101010101
  270.    DATA 1000000000000000000000021
  271.    DATA 1111111111111111111111111
  272.    
  273. Feld3:
  274.   pil=295:gs=1
  275.   LINE(110,10)-(129,20),6,bf
  276.   LINE(110,15)-(118,20),2,b
  277.   LINE(119,10)-(129,15),2,b
  278.   PAINT(117,19),2,2
  279.   PAINT(120,11),2,2  
  280.   GET(110,10)-(129,20),W%
  281.   RESTORE Feld3                              
  282.   GOSUB Lesen
  283. RETURN
  284.  
  285.     
  286.   DATA 1111111111111111111111111
  287.   DATA 1000000000000000000000001
  288.   DATA 1000000000000000000000001
  289.   DATA 1300000000777770000000001   
  290.   DATA 1000000077777777700000001
  291.   DATA 1000000777777777770000001
  292.   DATA 1000000777777777770000001   
  293.   DATA 1000000777777777770000001
  294.   DATA 1000000775577755770000001   
  295.   DATA 1000000775577755770000001
  296.   DATA 1000000775577755770000001   
  297.   DATA 1000000777777777770000001
  298.   DATA 1000000777777777770000001   
  299.   DATA 1000000777777777770000001
  300.   DATA 1000000777777777770000001   
  301.   DATA 1000000770777770770000001
  302.   DATA 1000000700077700070000001   
  303.   DATA 1000000700007000070000001
  304.   DATA 1000000000000000000000001   
  305.   DATA 1000000000004000000000001
  306.   DATA 1111111111111111111111111 
  307.  
  308.  
  309. Feld2:
  310.  pil=208:gs=1
  311.  RESTORE Feld2
  312.  GOSUB Lesen
  313. RETURN
  314.   
  315.   DATA 1111111111111111111111111  
  316.   DATA 1000000000000000000000001
  317.   DATA 1011111111101011111111101
  318.   DATA 1000001210001000121000001
  319.   DATA 1110101110111110111010111
  320.   DATA 1000100000000000000010001
  321.   DATA 1011101111101011111011101
  322.   DATA 1000000000001000000000001
  323.   DATA 1111101110111110111011111
  324.   DATA 5555101210000030121015555
  325.   DATA 1111101110110110111011111
  326.   DATA 5555101210000000121015555
  327.   DATA 1111101211104011121011111
  328.   DATA 1000001210001000121000001
  329.   DATA 1011101110111110111011101
  330.   DATA 1000000000000000000000001
  331.   DATA 1011101111101011111011101
  332.   DATA 1011101111101011111011101
  333.   DATA 1000000000001000000000001
  334.   DATA 1111111111111111111111111
  335.   DATA 5555555555555555555555555
  336.  
  337. Feld4:
  338.  RESTORE Feld4
  339.  pil=196:gs=1
  340. GOSUB Lesen
  341. RETURN
  342.  
  343.  DATA  1111111111111111111111111
  344.  DATA  1000000000000000000000001
  345.  DATA  15555555555535555555555a1
  346.  DATA  1000111111111111111100001
  347.  DATA  1222100000000000000122221
  348.  DATA  1000100111011101110100001   
  349.  DATA  12221000000b0000000122221
  350.  DATA  1000100111011101110100001
  351.  DATA  1222100000000000000122221
  352.  DATA  1000111111111111111100001
  353.  DATA  1555552555555555525555551
  354.  DATA  1000111110000001111100001
  355.  DATA  1000010001004010001000001
  356.  DATA  1555551000100100015555551
  357.  DATA  1555555100011000155555551
  358.  DATA  15555551002c2000155555551
  359.  DATA  1555551000011000015555551
  360.  DATA  1555510000100100001555551
  361.  DATA  1555111111000011111155551
  362.  DATA  1000000200000000020000001 
  363.  DATA  1111111111111111111111111
  364.  
  365. Feld5:
  366.  pil=355
  367.  RESTORE Feld5:GOSUB Lesen
  368.  RETURN
  369.   
  370.  DATA  1111111111111111111111111
  371.  DATA  1a00000000003000000000001
  372.  DATA  1000000000101000000000001
  373.  DATA  1000000000101000000000001
  374.  DATA  1000000000101000000000001
  375.  DATA  1040000000000000000000001
  376.  DATA  1000008888888888888880001
  377.  DATA  1888888888888888888888881
  378.  DATA  1000000000000000000000001
  379.  DATA  1000000000100010000000001
  380.  DATA  1000100000001000000000001
  381.  DATA  1000000000100000888888111
  382.  DATA  10b00000100000008000088c1
  383.  DATA  1000000000000000800000111
  384.  DATA  1000000000001000800000001
  385.  DATA  1000000000000000800000001
  386.  DATA  1000001000000000800000001
  387.  DATA  1000000000000000800000001
  388.  DATA  1000000000000000888888881
  389.  DATA  1000000000000000000000001
  390.  DATA  1111111111111111111111111
  391.  
  392. laden:
  393. IF nam1$="" THEN GOSUB Eingabe
  394. IF nam$="n" THEN lad=0:RETURN
  395. na3$=STR$(lv(pl)):IF na3$=" 0" THEN na3$=" 1"
  396. nam1$=nam$+na3$
  397. lad=1
  398. GOSUB Datex
  399. IF dex=0 THEN IF lv(pl)>1 THEN GOSUB lfer:RETURN
  400. IF dex=0 THEN KILL nam1$:nam1$="":GOTO laden
  401. CLOSE 1
  402. OPEN nam1$ FOR INPUT AS 1
  403. FOR t1=0 TO 20
  404. FOR t=0 TO 24
  405. INPUT#1,f$(t1,t)
  406. NEXT
  407. NEXT
  408. INPUT#1,pil
  409. CLOSE 1  
  410. xp=2:yp=2
  411. pil=pil+1
  412. RETURN
  413.  
  414. hisco:
  415. CLS
  416. OPEN "hi" FOR INPUT AS 1
  417. FOR t=0 TO 9
  418. INPUT#1,a$(t)
  419. hi(t)=VAL(LEFT$(a$(t),8))
  420. NEXT
  421. CLOSE 1
  422. a$(10)=RIGHT$(STR$(sc(pl)),LEN(STR$(sc(pl)))-1)
  423. hi(10)=VAL(LEFT$(a$(10),8))
  424. FOR t1=0 TO 10
  425. hiz(t1)=hi(0):az$(t1)=a$(0):t2=0
  426. FOR t=1 TO 11
  427. IF hi(t-1)>hiz(t1) THEN hiz(t1)=hi(t-1):az$(t1)=a$(t-1):t2=t-1:IF t=11 THEN pl1=t1
  428. NEXT
  429. hi(t2)=-100000
  430. NEXT t1
  431. LOCATE 3,20:PRINT "HIGH-SCORE-LISTE"
  432. FOR t=0 TO 10
  433. LOCATE 5+2*t,20 
  434. PRINT az$(t)
  435. NEXT
  436. IF sc(pl)=0 THEN LOCATE 25,20:PRINT"     "
  437. IF pl1=10 AND sc(pl)<>0  THEN LOCATE 25,28:PRINT "Spieler ";pl
  438. IF pl1<10 THEN LOCATE 5+2*pl1,28:INPUT na$:na$=LEFT$(na$,20)
  439. d$="        "
  440. IF LEN(STR$(sc(pl)))<8 THEN az$(pl1)=STR$(sc(pl))+LEFT$(d$,9-LEN(STR$(sc(pl))))+na$
  441. IF pl1<10 THEN
  442. OPEN "hi" FOR OUTPUT AS 1
  443. FOR t=0 TO 9
  444. PRINT#1,az$(t)
  445. NEXT
  446. CLOSE 1
  447. END IF
  448. WHILE STRIG(3)<>-1:WEND
  449. RETURN
  450.  
  451. Pb:
  452. CLEAR,30000,2000
  453. SCREEN 1,640,240,3,2
  454. WINDOW 3,"PAC IS BACK",,0,1
  455. l(1)=5:l(2)=5:a=69:gs=1
  456. DIM f$(20,24),f2$(20,24):DIM pc(7)
  457. DIM W%(a),p%(a),g%(a),Pi%(a),l%(a),Fr%(a),Gi%(a)
  458. DIM P0%(a),P1%(a),P2%(a),P3%(a),F7(14,1)
  459. pp(1)=4:pp(2)=12:pli(1)=6:pli(2)=14:l$="Leben:":p$="Punkte:"
  460. ON TIMER(10) GOSUB f1
  461. GOSUB mu
  462. GOSUB M1
  463. GOSUB fd
  464. GOSUB f1
  465. GOTO Tb
  466.  
  467. fd:
  468. RESTORE fd
  469. FOR t=0 TO 7
  470. READ t1,t2,t3:PALETTE t,t1/10,t2/10,t3/10
  471. NEXT 
  472. DATA 3,9,3,10,10,10,4,4,4,6,1,1,0,0,0,9,9,1,8,2,3,8,7,6 
  473. RETURN
  474.  
  475. M1:
  476. MENU 1,0,1,"Start"
  477. MENU 1,1,1,"  1 Spieler"   
  478. MENU 1,2,1,"  2 Spieler"
  479. MENU 2,0,1,"ENDE"
  480. MENU 2,1,1,"QUIT"
  481. MENU 3,0,1,"LADEN"
  482. MENU 3,1,1,"Levels laden"
  483. MENU 4,0,1,"HI-SCO-LISTE"
  484. MENU 4,1,1,"Mache Hi-Sco-Liste"
  485. RETURN
  486.  
  487. M2:
  488. M=MENU(0)
  489. IF M=1 THEN
  490. IF MENU(1)=1 THEN sp=1:l(2)=0:lv(1)=1:GOSUB An
  491. IF MENU(1)=2 THEN sp=2:lv(1)=1:lv(2)=1:GOSUB An
  492. END IF
  493. IF M=2 THEN MENU RESET:SCREEN CLOSE 1:END
  494. IF M=3 THEN  ld=1:nam1$=""
  495. IF M=4 THEN GOSUB Hiscogen
  496. RETURN   
  497.           
  498. Bi:
  499. CLS
  500. CIRCLE(20,20),8,3,,,0.5
  501. CIRCLE(20,20),5,3,,,0.3
  502. PAINT(20,20),3,3
  503. PAINT(12,20),6,3
  504. GET(11,15)-(29,25),Pi%
  505. CLS
  506. LINE(12,145)-(31,155),7,bf
  507. FOR t=1 TO 10
  508. LINE(20+t,145)-(31-t,155),2
  509. NEXT  
  510. GET(12,145)-(31,155),W%
  511. CLS
  512. CIRCLE(20,150),4,5
  513. PAINT(20,150),5,5
  514. GET(12,145)-(31,155),p%
  515. CLS
  516. CIRCLE(22,148),6,6,-6.28,-3.14
  517. PAINT(22,146),6,6
  518. LINE(16,148)-(16,155),6
  519. LINE(28,148)-(28,155),6
  520. LINE(16,155)-(19,154),6
  521. LINE-(21,155),6
  522. LINE-(24,154),6
  523. LINE-(27,155),6
  524. PAINT(22,149),6,6
  525. CIRCLE(19,150),2,1,,,0.6
  526. CIRCLE(25,150),2,1,,,0.6
  527. PAINT(25,150),1,1
  528. PAINT(19,150),1,1
  529. PSET(19,150),0:PSET(20,150),0
  530. PSET(25,150),0:PSET(24,150),0      
  531. GET(12,145)-(31,155),g%
  532. CLS
  533. GET(12,145)-(31,155),l%
  534. CLS
  535. LINE(12,145)-(31,155),0,b
  536. LINE(14,147)-(29,153),0,b
  537. PAINT(13,146),0,0
  538. LINE(19,149)-(24,151),0,bf
  539. GET(12,145)-(31,155),Fr%
  540. CLS  
  541. LINE(12,145)-(31,155),6,bf
  542. CIRCLE(17,150),3,4,,,0.7
  543. PAINT(17,150),4,4
  544. CIRCLE(26,150),3,4,,,0.7
  545. PAINT(26,150),4,4
  546. GET(12,145)-(31,155),Gi%
  547. CLS  
  548. GOSUB d1
  549. FOR t=0 TO 6 STEP 2
  550. CIRCLE(22,150),10,5,-pc(t),-pc(t+1),0.5
  551. IF t<> 6 THEN
  552. PAINT(23,146),5,5
  553. ELSE
  554. PAINT(18,150),5,5
  555. END IF
  556. IF t=0 OR t=4 THEN CIRCLE(23,146),2,6 :ELSE CIRCLE(17,150),2,6
  557. IF t=0 THEN GET(12,145)-(31,155),P0%
  558. IF t=2 THEN GET(12,145)-(31,155),P1%
  559. IF t=4 THEN GET(12,145)-(31,155),P2%
  560. IF t=6 THEN GET(12,145)-(31,155),P3%
  561. CLS
  562. NEXT t
  563. RETURN
  564.           
  565. P1:  
  566. FOR t1=0 TO 90 STEP 30
  567. FOR t=12 TO 622 STEP 60
  568. PUT(t,145+t1),P0%,PSET
  569. NEXT t
  570. NEXT t1  
  571. RETURN
  572.  
  573. An:
  574. IF l(1)=0 AND l(2)=0 THEN sc(1)=0:sc(2)=0:l(1)=5:l(2)=5:lv(1)=0:lv(2)=0:GOSUB hisco:GOTO Tb
  575. IF pl=1 THEN pl=2  :ELSE pl=1
  576. IF sp=1 THEN pl=1
  577. IF l(1)=0 THEN pl=2
  578. IF l(2)=0 THEN pl=1
  579. SOUND RESUME
  580. a=4:FOR t1=1 TO 2
  581. FOR t=0 TO 250 STEP a
  582. LINE(10,t)-(640,t),4
  583. NEXT t
  584. FOR t=0 TO 640 STEP a
  585. LINE(t,10)-(t,250),4
  586. NEXT t  
  587. a=2:NEXT t1
  588. CLS
  589. LOCATE 2,1:PRINT"Spieler 1"
  590. LOCATE 4,1:PRINT p$;sc(1)
  591. LOCATE 6,1:PRINT l$;l(1)
  592. LOCATE 10,1:PRINT"Spieler 2"
  593. LOCATE 12,1:PRINT p$;sc(2)
  594. LOCATE 14,1:PRINT l$;l(2)
  595. LOCATE 1,35:PRINT sp"Spieler-Modus"
  596. IF lad=0 THEN 
  597. GOSUB Spielfelder
  598. ELSE 
  599. GOSUB laden
  600. IF dex=0 THEN l(pl)=1:GOTO ph
  601. GOSUB Entwickler
  602. END IF
  603. IF dex1=1 THEN dex1=0:l(pl)=1:GOTO ph
  604. LOCATE 20,1:PRINT"PRESS BUTTON"
  605. WHILE STRIG(3)<>-1
  606. WEND     
  607. LOCATE 20,1:PRINT"             "                                          
  608. TIMER ON
  609. GOTO St
  610.     
  611. Eingabe:
  612. LOCATE 16,1:INPUT "Name";nam$
  613. IF nam$="" THEN GOTO Eingabe
  614. LOCATE 16,1:PRINT STRING$(80," ")
  615. RETURN
  616.  
  617. Hiscogen:
  618.   OPEN "Hi" FOR OUTPUT AS 1
  619.   FOR t=0 TO 9 
  620.     a$=STR$(1000*t)+"    "+"Leuolya-Soft"
  621.     PRINT#1,a$
  622.   NEXT 
  623.   CLOSE 1
  624.   RETURN
  625.           
  626. Datex:
  627.   CLOSE 1
  628.   OPEN nam1$ FOR APPEND AS 1
  629.   IF LOF(1)<=0 THEN dex=0 :ELSE dex=1
  630.   CLOSE 1
  631. RETURN
  632.  
  633. lfer:
  634.  CLS
  635.  LOCATE 10,30:PRINT"Alle Levels geschafft"
  636.  LOCATE 12,30:PRINT"Bonus=Leben*2500"
  637.  sc(pl)=sc(pl)+l(pl)*2500
  638.  LOCATE 14,30:PRINT sc(pl)
  639.  WHILE STRIG(3)<>-1:WEND
  640. RETURN
  641.                  
  642.